
import org.commonmark.node.Node;
import org.commonmark.parser.Parser;
import org.commonmark.renderer.html.HtmlRenderer;

import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.List;

public class MarkdownUtil {
    public static void main(String[] args) {
        // 本地Markdown文件路径
        String filePath = "C:\\Users\\gengz\\Downloads\\Z8WhdqWFwo79xRxkWQgcGvucncc.md"; // 替换为你的文件路径

        try {
            // 1. 读取本地文件内容为字符串
            String markdownContent = readFileToString(filePath);
            if (markdownContent == null) {
                System.err.println("文件读取失败");
                return;
            }

            // 2. 创建CommonMark解析器
            Parser parser = Parser.builder().build();

            // 3. 解析文件内容为节点树
            Node document = parser.parse(markdownContent);

            Node child=document.getFirstChild();

            HtmlRenderer renderer = HtmlRenderer.builder()
                    .escapeHtml(false) // 不转义HTML
                    .build();
            String modifiedContent = renderer.render(document);

            System.out.println("结束");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    // 工具方法：读取文件内容为字符串
    private static String readFileToString(String filePath) throws IOException {
        File file = new File(filePath);
        if (!file.exists() || !file.isFile()) {
            System.err.println("文件不存在或不是有效文件：" + filePath);
            return null;
        }
        // 使用UTF-8编码读取文件
        byte[] bytes = Files.readAllBytes(file.toPath());
        return new String(bytes, StandardCharsets.UTF_8);
    }


}
